gl renderer: Linear gradients: offset
authorTimm Bäder <mail@baedert.org>
Mon, 3 Dec 2018 17:03:34 +0000 (18:03 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 4 Dec 2018 05:30:47 +0000 (06:30 +0100)
gsk/gl/gskglrenderer.c

index 25d213aca72482fb40d27205e4462f689b0de462..753073e97b7d7f988703e48692efbe62219739f4 100644 (file)
@@ -781,6 +781,7 @@ render_offset_node (GskGLRenderer   *self,
     case GSK_SHADOW_NODE:
     case GSK_BORDER_NODE:
     case GSK_OUTSET_SHADOW_NODE:
+    case GSK_LINEAR_GRADIENT_NODE:
       {
         ops_offset (builder, dx, dy);
         gsk_gl_renderer_add_render_ops (self, child, builder);
@@ -898,7 +899,11 @@ render_linear_gradient_node (GskGLRenderer       *self,
   op.op = OP_CHANGE_LINEAR_GRADIENT;
   op.linear_gradient.n_color_stops = n_color_stops;
   op.linear_gradient.start_point = *start;
+  op.linear_gradient.start_point.x += builder->dx;
+  op.linear_gradient.start_point.y += builder->dy;
   op.linear_gradient.end_point = *end;
+  op.linear_gradient.end_point.x += builder->dx;
+  op.linear_gradient.end_point.y += builder->dy;
   ops_add (builder, &op);
 
   ops_draw (builder, vertex_data);